iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
0
Modern Web

30天每日死磕面试题3+1系列 第 8

摩斯密码如何实现?响应式设计和自适应设计的区别在哪里?

  • 分享至 

  • xImage
  •  

[html]

怎样把整个页面中的内容设置成只读,不可编辑的状态?

[css]

说说响应式设计(responsive design)和自适应设计(adaptive design)的区别?

[js]

使用js实现摩斯密码的加密和解密


昨日题目答案

html

input的onblur和onchange事件区别是什么?

onblur 在 input 失去焦点时候触发。与之对应的是 onfocus 事件。无论 input 是否有值、值是否有变化,都会触发。
onchange 在 input 发生变化然后在失去焦点的时候触发。且先于 onblur 触发。onchange 只有在 input 的值必须与前一次输入不同才会触发。

<body>
    <input type="text" id="a" placeholder="onchange" onchange="onfun()">
    <input type="text" id="b" placeholder="onblur" onblur="onblu()">
  <script>
    function onfun() {console.log('onchange')}
    function onblu() { console.log('onblur') }
  </script>
</body>

CSS

什么是脱离文档流?有什么办法可以让元素脱离标准的文档流?

文档流就是指元素在 HTML 文档中位置顺序决定排布的过程。HTML 元素有块级元素和行内元素,块级元素一个占一行,行内元素在一行内依次排布。整体元素从上到下的排布顺序如同瀑布一样。

脱离文档流即脱离了排布的规则。可以使用 floatabsolute/fixed 来脱离文档流。脱离文档流的元素不受文档流内元素的影响。

JS

请使用原生的js实现斐波那契数列

解法1:

function Fibonacci (n) {
  let arr = [1, 1]
  for (let i = 2; i < n + 1; i++) {
    arr[i] = arr[i - 1] + arr[i - 2]
  }
  return arr
 //return arr[n]
}

解法2:

let Fibonacci = num => {
    if (!Fibonacci.sequence) Fibonacci.sequence = [1, 1]
    if (Fibonacci.sequence[num] !== undefined) return Fibonacci.sequence.slice(0, num)
    for (var i = Fibonacci.sequence.length; i < num + 1; i++) {
        Fibonacci.sequence[i] = Fibonacci.sequence[i - 1] + Fibonacci.sequence[i - 2]
    }
    return Fibonacci.sequence.slice(0, num)
}

解法3:

const fib = (limit = 10, arr = [1, 1]) => {
  // 使用循环
  // if (limit < 3) {
  //   return arr;
  // }

  // const result = arr;
  // while (result.length < limit) {
  //   const len = result.length;
  //   result.push(result[len - 1] + result[len - 2]);
  // }
  // return result;

  // 使用递归
  if (arr.length < limit) {
    const len = arr.length;
    return fib(limit, [...arr, arr[len - 1] + arr[len - 2]]);
  } else {
    return arr;
  }
};

console.log(fib());
console.log(fib(9));

上一篇
DAY 7 不用运算符算出两数之和?
下一篇
DAY 9 什么是单线程
系列文
30天每日死磕面试题3+19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言